IOS에서 동영상이 안 나올 때

마지막 수정일: 2025. 04. 23.

TLDR

  1. nextjs로 video tag를 사용해 CDN의 영상을 가져와 재생하는데 IOS에서만 보이지 않음
  2. H.264 Level이 6.0인 비디오 파일이 재생이 되지 않음
  3. H.264 Level 4.2로 변경하여 S3에 업로드 -> 해결

문제상황

favy 서비스(회사 서비스)를 만들고 컨텐츠를 올리던 중 디자이너분이 특정 영상이 안 나온다고 얘기해주셨다.
확인해보니 android, pc에서는 문제없이 재생이 되었지만 ios에서만 보이지 않는 것을 확인했다.

해결방식

해결방법은 간단했다 영상 원본을 level 4.2로 낮추었더니 해결
ffmpeg가 설치되어있다면 간단한 python 코드로 동영상을 인코딩할 수 있다.

PYTHON
import subprocess

input_file = "3LjitOGGO4I_0.mp4"
output_file = "output.mp4"

command = [
"ffmpeg", "-i", input_file,
"-c:v", "libx264", "-profile:v", "high", "-level:v", "4.2",
"-preset", "slow", "-crf", "23", "-c:a", "copy", output_file
]

subprocess.run(command)
print("변환 완료: output.mp4")

당시 해결할 때 시간이 밤 9시였는데 다같이 똘똘 뭉쳐서 해결.